package org.fast.develop.logicflow.core.meta.base;


import org.fast.develop.logicflow.core.meta.base.Element;
import org.fast.develop.logicflow.core.meta.base.properties.GetSetProperties;
import org.fast.develop.logicflow.core.meta.base.properties.Properties;

/**
 * @author 莫寅
 * @createTime 2022-11-23 01:44
 * @desc：
 */
public abstract class Resource<P extends Properties> implements Element, GetSetProperties<P> {

    private String resourceId;
    private String name;


    private P properties;

    @Override
    public String getResourceId() {
        return resourceId;
    }

    public void setResourceId(String resourceId) {
        this.resourceId = resourceId;
    }

    @Override
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    @Override
    public P getProperties() {
        return properties;
    }

    public void setProperties(P properties) {
        this.properties = properties;
    }


    @Override
    public String toString() {
        return "Resource{" +
                "resourceId='" + resourceId + '\'' +
                '}';
    }
}
